import type { SysMemberPageListResult } from '@/api/admin/types';
import { PotentialClientsTypeEnum } from '@/enums/commercializeEnum';
import { ApplyTypeEnum } from '@/enums/membershipEnum';
import type { AssTypeEnum } from '@/enums/orderEnum';

/** 入会资料审核 */
export type MemberApplyFormAudit = {
  id: number;
  refresh?: () => void;
};

/** 会员设置 */
export type MemberSet = {
  id?: number;
};

/** 成员列表 */
export type PersonInfo = {
  id?: number;
  applyType?: ApplyTypeEnum;
};

/** 管理员 - 会员证 */
export type MembershipCard = {
  id: number;
};

/** 成员新增 */
export type PersonAdd = {
  cocId: number;
  id?: number;
  callback: () => void;
};

/** 缴费列表 */
export type PayInfo = {
  id?: number;
};

/** 缴费详情 */
export type PayDetail = {
  id: number;
  memberName?: string;
  levelName?: string;
  membershipFees?: number;
  isEdit: boolean;
  callback?: () => void;
};

/** 意向详情类型列表 */
export type IntendedDetails = {
  appUserId: number;
};

/** 意向会员访问列表 */
export type AccessRecord = {
  appUserId: number;
  type: PotentialClientsTypeEnum;
};

/** 入会会费设置 */
export type DuesSet = {
  id: number;
  memberName?: string;
  levelName?: string;
  levelId?: number;
  applyType?: number;
  refresh?: () => void;
};

/** 凭证审核 */
export type MemberDuesAudit = {
  id: number;
  isAudit: boolean;
  refresh: () => void;
};

/** 续费设置 */
export type MemberRenewSet = {
  id: number;
  memberName?: string;
  levelName?: string;
  levelId?: number;
  applyType?: number;
  callback?: () => void;
};

/** 续费审核 */
export type MemberRenewAudit = {
  id: number;
  memberId: number;
  refresh: () => void;
};

/** 人脉审核详情 */
export type ReviewDetails = {
  id: number;
  assType: AssTypeEnum;
  callback: () => void;
};

export type AttachmentManager = {
  memberId: number;
}

/** 缴费详情 */
export type PaymentInfoDetails = {
  item: SysMemberPageListResult
}

/** 编辑/添加 相册 */
export type AddPhotos = {
  id?: number
  openUpCoverImg?: boolean
  callback?: () => void
}